package com.pig4cloud.pigx.common.customize.i18n.constants;

public interface I18nMessages {

    /**
     * 数据异常，无法获得用户信息
     */
    String UNABLE_TO_OBTATIN_USER_INFORMATION = "unable.to.obtain.user.information";

    /**
     * 操作失败
     */
    String OPERATION_FAILURE = "operation.failure";

    /**
     * 服务异常
     */
    String SERVICE_ABNORMAL = "service.abnormal";

    /**
     * 数据状态已发生改变，请刷新重试
     */
    String DATA_STATUS_HAS_CHANGED = "data.status.has.changed";

    /**
     * {0}格式错误{1}
     */
    String FORMAT_ERROR = "format.error";

    /**
     * IP地址
     */
    String IP_ADDRESS = "ip.address";

    /**
     * 请求常规错误
     */
    String UNKNOWN = "unknown";

    /**
     * 服务器内部错误
     */
    String DISCONNECTED = "disconnected";

    /**
     * 请求权限不足
     */
    String UNAUTHORIZED = "unauthorized";

    /**
     * 请求过多
     */
    String TOO_MANY_REQUESTS = "too.many.requests";

    /**
     * IP地址已经在白名单
     */
    String DUPLICATE_IP = "duplicate.ip";

    /**
     * 白名单无此IP
     */
    String NO_SUCH_IP = "no.such.ip";

    /**
     * 从消息总线收到意外的响应。执行状态未知
     */
    String UNEXPECTED_RESP = "unexpected.resp";

    /**
     * 请求超时
     */
    String TIMEOUT = "timeout";

    /**
     * 参数不合法
     */
    String UNKNOWN_ORDER_COMPOSITION = "unknown.order.composition";

    /**
     * 该服务不可用
     */
    String SERVICE_SHUTTING_DOWN = "service.shutting.down";


    /**
     * 不支持此操作
     */
    String UNSUPPORTED_OPERATION = "unsupported.operation";

    /**
     * 请求时间早于服务器时间
     */
    String INVALID_TIMESTAMP = "invalid.timestamp";

    /**
     * 此请求的签名无效
     */
    String INVALID_SIGNATURE = "invalid.signature";

    /**
     * 参数里面的开始时间在结束时间之后
     */
    String START_TIME_GREATER_THAN_END_TIME = "start.time.greater.than.end.time";

    /**
     * 在参数中发现非法字符
     */
    String ILLEGAL_CHARS = "illegal.chars";

    /**
     * 参数过多,超出预期参数数量
     */
    String TOO_MANY_PARAMETERS = "too.many.parameters";

    /**
     * 未发送强制性参数，该参数为空或格式错误
     */
    String MANDATORY_PARAM_EMPTY_OR_MALFORMED = "mandatory.param.empty.or.malformed";

    /**
     * 发送了未知参数
     */
    String UNKNOWN_PARAM = "unknown.param";

    /**
     * 并非所有发送的参数都被读取（有无效）
     */
    String UNREAD_PARAMETERS = "unread.parameters";

    /**
     * 参数为空
     */
    String PARAM_EMPTY = "param.empty";

    /**
     * 发送了不需要的参数
     */
    String PARAM_NOT_REQUIRED = "param.not.required";

    /**
     * 精度溢出
     */
    String BAD_PRECISION = "bad.precision";

    /**
     * 该合约下没有挂单
     */
    String NO_DEPTH = "no.depth";

    /**
     * 无效的时间
     */
    String INVALID_TIF = "invalid.tif";

    /**
     * 无效的订单类型
     */
    String INVALID_ORDER_TYPE = "invalid.order.type";

    /**
     * 无效的买卖方向
     */
    String INVALID_SIDE = "invalid.side";

    /**
     * 无效时间间隔
     */
    String BAD_INTERVAL = "bad.interval";

    /**
     * 无效的币对
     */
    String BAD_SYMBOL = "bad.symbol";

    /**
     * 查询时间间隔过大
     */
    String MORE_THAN_XX_HOURS = "more.than.xx.hours";

    /**
     * 可选参数组合无效
     */
    String OPTIONAL_PARAMS_BAD_COMBO = "optional.params.bad.combo";

    /**
     * 发送的参数为无效数据
     */
    String INVALID_PARAMETER = "invalid.parameter";

    /**
     * 下单被拒绝
     */
    String NEW_ORDER_REJECTED = "new.order.rejected";

    /**
     * 撤单被拒绝
     */
    String CANCEL_REJECTED = "cancel.rejected";

    /**
     * 订单不存在
     */
    String NO_SUCH_ORDER = "no.such.order";

    /**
     * API-key 格式无效
     */
    String BAD_API_KEY_FMT = "bad.api.key.fmt";

    /**
     * 无效的API密钥，IP或操作权限
     */
    String REJECTED_MBX_KEY = "rejected.mbx.key";

    /**
     * 余额不足
     */
    String BALANCE_NOT_SUFFICIENT = "balance.not.sufficient";

    /**
     * 杠杆账户余额不足
     */
    String MARGIN_NOT_SUFFICIENT = "margin.not.sufficient";

    /**
     * 无法成交
     */
    String UNABLE_TO_FILL = "unable.to.fill";

    /**
     * 订单可能会被立即触发
     */
    String ORDER_WOULD_IMMEDIATELY_TRIGGER = "order.would.immediately.trigger";

    /**
     * 订单被拒绝
     */
    String REDUCE_ONLY_REJECT = "reduce.only.reject";

    /**
     * 订单正在处于强平状态
     */
    String ORDER_IN_LIQUIDATION = "order.in.liquidation";

    /**
     * 持仓数量不足
     */
    String POSITION_NOT_SUFFICIENT = "position.not.sufficient";

    /**
     * 挂单量达到上限
     */
    String MAX_OPEN_ORDER_EXCEEDED = "max.open.order.exceeded";

    /**
     * 挂单或持仓超出当前初始杠杆下的最大值
     */
    String MAX_LEVERAGE_RATIO = "max.leverage.ratio";

    /**
     * 调整初始杠杆过低，导致可用余额不足
     */
    String MIN_LEVERAGE_RATIO = "min.leverage.ratio";

    /**
     * 订单状态不正确
     */
    String INVALID_ORDER_STATUS = "invalid.order.status";

    /**
     * 价格小于0
     */
    String PRICE_LESS_THAN_ZERO = "price.less.than.zero";

    /**
     * 数量小于最小值
     */
    String QTY_LESS_THAN_MIN_QTY = "qty.less.than.min.qty";

    /**
     * 价格超过最大值
     */
    String PRICE_GREATER_THAN_MAX_PRICE = "price.greater.than.max.price";

    /**
     * 数量小于0
     */
    String QTY_LESS_THAN_ZERO = "qty.less.than.zero";

    /**
     * 数量超过最大值
     */
    String QTY_GREATER_THAN_MAX_QTY = "qty.greater.than.min.qty";

    /**
     * 触发价格小于最小值
     */
    String STOP_PRICE_LESS_THAN_ZERO = "stop.price.less.than.zero";

    /**
     * 触发价格大于最大值
     */
    String STOP_PRICE_GREATER_THAN_MAX_PRICE = "stop.price.greater.than.max.price";

    /**
     * 价格精度小于0
     */
    String TICK_SIZE_LESS_THAN_ZERO = "tick.size.less.than.zero";

    /**
     * 最大价格小于最小价格
     */
    String MAX_PRICE_LESS_THAN_MIN_PRICE = "max.price.less.than.min.price";

    /**
     * 最大数量小于最小数量
     */
    String MAX_QTY_LESS_THAN_MIN_QTY = "max.qty.less.than.min.qty";

    /**
     * 最大订单数小于0
     */
    String MAX_NUM_ORDERS_LESS_THAN_ZERO = "max.num.orders.less.than.zero";

    /**
     * 价格小于最低价格
     */
    String PRICE_LESS_THAN_MIN_PRICE = "price.less.than.min.price";

    /**
     * 价格增量不是价格精度的倍数
     */
    String PRICE_NOT_INCREASED_BY_TICK_SIZE = "price.not.increased.by.tick.size";

    /**
     * 价格上限小于0
     */
    String MULTIPLIER_UP_LESS_THAN_ZERO = "multiplier.up.less.than.zero";

    /**
     * 价格下限小于0
     */
    String MULTIPLIER_DOWN_LESS_THAN_ZERO = "multiplier.down.less.than.zero";

    /**
     * 深度信息的limit值不正确
     */
    String INVALID_DEPTH_LIMIT = "invalid.depth.limit";

    /**
     * 收益错误
     */
    String COMMISSION_INVALID = "commission.invalid";

    /**
     * 账户类型错误
     */
    String INVALID_ACCOUNT_TYPE = "invalid.account.type";

    /**
     * 价格精度小数点位数不正确
     */
    String INVALID_TICK_SIZE_PRECISION = "invalid.tick.size.precision";

    /**
     * 不正确的参数类型
     */
    String INVALID_WORKING_TYPE = "invalid.working.type";

    /**
     * 超过可取消的最大订单量
     */
    String EXCEED_MAX_CANCEL_ORDER_SIZE = "exceed.max.cancel.order.size";

    /**
     * 余额类型不正确
     */
    String INVALID_BALANCE_TYPE = "invalid.balance.type";

    /**
     * 达到止损单的上限
     */
    String MAX_STOP_ORDER_EXCEEDED = "max.stop.order.exceeded";

    /**
     * 全仓余额不足
     */
    String CROSS_BALANCE_INSUFFICIENT = "cross.balance.insufficient";

    /**
     * 逐仓余额不足
     */
    String ISOLATED_BALANCE_INSUFFICIENT = "isolated.balance.insufficient";

    /**
     * 不能增加逐仓保证金: 持仓为0
     */
    String ADD_ISOLATED_MARGIN_NO_POSITION_REJECT = "add.isolated.margin.no.position.reject";

    /**
     * 数量只能为正整数
     */
    String AMOUNT_MUST_BE_POSITIVE = "amount.must.be.positive";

    /**
     * API-KEY 的类型不正确
     */
    String INVALID_API_KEY_TYPE = "invalid.api.key.type";

    /**
     * API-KEY 不正确
     */
    String INVALID_RSA_PUBLIC_KEY = "invalid.rsa.public.key";

    /**
     * 仓位方向错误
     */
    String INVALID_POSITION_SIDE = "invalid.position.side";

    /**
     * 下单数量达到上限
     */
    String OPTIONS_PREMIUM_REACH_LIMIT = "options.premium.reach.limit";

    /**
     * 用户找不到
     */
    String OPTIONS_USER_NOT_FOUND = "options.user.not.found";

    /**
     * 批量下单数量不正确
     */
    String INVALID_BATCH_PLACE_ORDER_SIZE = "invalid.batch.place.order.size";

    /**
     * 无法批量下单
     */
    String PLACE_BATCH_ORDERS_FAIL = "place.batch.orders.fail";

    /**
     * 无效的合约类型
     */
    String INVALID_CONTRACT_TYPE = "invalid.contract.type";

    /**
     * 交易对已下架
     */
    String SYMBOL_ALREADY_CLOSED = "symbol.already.closed";

    /**
     * 无效的交易对状态
     */
    String INVALID_OPENING_POSITION_STATUS = "invalid.opening.position.status";

    /**
     * 拒绝：止盈止损单将立即被触发
     */
    String STRATEGY_INVALID_TRIGGER_PRICE = "strategy.invalid.trigger.price";

    /**
     * 逐仓仓位模式下无法降低杠杆
     */
    String ISOLATED_LEVERAGE_REJECT_WITH_POSITION = "isolated.leverage.reject.with.position";

    /**
     * 无效的间隔
     */
    String INVALID_TIME_INTERVAL = "invalid.time.interval";

    /**
     * 止盈止损订单价格不应高于触发价与报价乘数上限的乘积
     */
    String PRICE_HIGHTER_THAN_STOP_MULTIPLIER_UP = "price.highter.than.stop.multiplier.up";

    /**
     * 止盈止损订单价格不应低于触发价与报价乘数下限的乘积
     */
    String PRICE_LOWER_THAN_STOP_MULTIPLIER_DOWN = "price.lower.than.stop.multiplier.down";

}

